package hot;



import java.util.Scanner;

/**
 * @author lakersUp
 * @Classname   最佳买卖股票收益喊冷冻期
 * @Description     持股
 *                  不持股
 *                  冷冻期
 * @Date 2022/3/23 15:58
 * @Version 1.0
 */
public class Hot309maxProfit {
    public int maxProfit(int[] prices){
        if(prices==null || prices.length==0){
            return 0;
        }
        int n=prices.length;
        int[][] dp = new int[n][3];

        dp[0][0]=0;
        dp[0][1]=-prices[0];
        dp[0][2]=0;

        for(int i=1;i<n;i++){

//          不持股， 前一天不持股和前一天为冷冻期的最大值
            dp[i][0]=Math.max(dp[i-1][0],dp[i][2]);
//          持股， 前一天持股和今天买入
            dp[i][1]=Math.max(dp[i-1][1],dp[i-1][0]-prices[i]);
//          冷冻期， 前一天刚卖
            dp[i][2]=dp[i-1][1]+prices[i];
        }
        //最后一天不持股和在冷冻期
        return Math.max(dp[n-1][0],dp[n-1][2]);
    }
    public void test1(){
        String str="520";
        str+=52;
        System.out.println(str);

        //输出52052
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
    }
}
